Graph based information systems use various types of notation standards to represent the information contained therein. For example, the Business Process Model Notation (BPMN) or Event-driven Process Chain (EPC) notation are used if the graph represents a process, whereas the Entity Relationship Model (ERM) or the Unified Modeling Language (UML) are used if the graph represents a data structure.
The commonality that exists among these various notations is that a graph is only valid if it matches the syntax of a specified notation. This is true because the validity of a graph's syntax is the precondition for the semantic correctness of the information that is represented in the graph.
One of the problems with current graph information systems is that they only check dedicated parts of graph syntax. These systems check validity using semantic checks that are implemented using a programming language. However, this type of implementation is applicable to a specific type of graph notation (for example, BPN) and requires that the user have knowledge of the specified programming language.
Since current graph information systems are not generic, every graph notation requires a new semantic check. Additionally, these systems are only accomplishing basic syntax checks and fail to check the complete syntax of a graph.
FIG. 21 is an example of a BPMN Collaboration diagram with an invalid syntax. FIG. 21 illustrates a start event 2115, Gateway 2101, Task A 2111, Task B 2113, Gateway 2103, and end event 2117. The control flow from start event 2115 to end event 2117 is split up by an exclusive Gateway 2101 (meaning that only one of the two paths can be taken). However, Gateway 2103 is an inclusive gateway (meaning that both input control flows are required before the process can terminate). This type of invalid syntax is typically overlooked by current semantic checks.
The traditional model/graph transformation system transforms one model from one representation to another representation (e.g., a BPMN model into a Business Execution Process Language (BEPL) model). During this type of transformation the semantic remains the same. Additionally, all transformation patterns are executed on the source model and the result of the transformation patterns is used to build the target model graph.
The traditional model generation system (e.g., DEVS-Driven Modeling Language) uses a metamodel to build a system that is able to generate valid graph models that match the syntax of the metamodel. These systems generate models with a valid syntax (for the given metamodel), but it is not possible to check if a given model, which was generated by or imported from another system, matches the syntax. Another problem with the model generation approach is that the generation system always needs to be created before it can be used to generate a valid model.
The traditional automated repair and validation system may improve the import of process flow drawings from drawing tools (e.g., Microsoft Visio) into process modeling tools (e.g., ARIS or IBM WebSphere). However, the automated repair and validation system is not designed to validate models that are originally created in process modeling tools. This limitation exists because the repair actions of the system are restricted to specific issues that typically occur if a model drawing is imported in a process model tool. Additionally, the repair and validation system describes only simple rules that are based on one node of the model. Yet another problem with this system is that its use is limited to the improvement of the import of drawings in a process management tool, rather than the broader use of supporting a user of a process management tool to model syntax correct models.
One or more embodiments discussed herein can address the aforementioned problems, with traditional systems, by enabling the user to completely check if a given graph matches a syntax notation. The graph syntax validation system may also be used to define graph syntax and validate graphs using a newly defined syntax.